iT邦幫忙

0

JS [撞牆] setInterval() 傳參數及關閉

  • 分享至 

  • xImage
  •  

https://www.w3schools.com/jsref/met_win_setinterval.asp

1. 關閉:

若不使用關閉,會讓網頁充滿setInterval,每使用一次開一次。
(原因:下了該指令後,直接變成全域window.)
方法:裝入變數後取得ID,clearInterval

export function backgroundImg(item) {
  clearInterval(clickSetIntervalId); // 關閉clearInterval
  clickSetIntervalId = setInterval(ChangeBgImg, 1000, item.innerText); //使用
}

2. 傳參數:

setInterval傳參數不是放在function內

setInterval(ChangeBgImg(item.innerText), 1000); // 錯誤,收不到item.innerText

是放在setInterval的參數內

setInterval(ChangeBgImg, 1000, item.innerText) // 正確,收值

3. 非同步無需另外import也會執行

當網頁下非同步立即會可以使用,無需呼叫xxx();,如ajax、setInterval
當然也可以用監聽使其被觸發
因此才會引起1. 的問題

4. setTimeout 亦由 window 呼叫


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言